#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;

//class A
//{
//public:
//	A(int a)
//		:_a1(a)
//		,_a2(_a1)
//	{}
//
//	void Print()
//	{
//		cout << _a1 << " " << _a2 << endl;
//	}
//private:
//	int _a1;
//	int _a2;
//};
//
//class B
//{
//public:
//	B()
//	{}
//private:
//	A _aa;
//};

//int main()
//{
//	A aa;
//
//	return 0;
//}

class Date
{
public:
	 Date(int year)
		:_year(year)
	{}

	/* Date(int year, int month = 1, int day = 1)
		:_year(year)
		,_month(month)
		,_day(day)
	{}*/
		Date& operator=(const Date& d)
	{
		if (this != &d)
		{
			_year = d._year;
			_month = d._month;
			_day = d._day;
		}
		return *this;

	}

private:
	int _year;
	int _month;
	int _day;
};

void Test()
{
	Date d1(2022);
	/*d1 = 2023;*/
}

int N = 0;
class A
{
public:
	A(int a = 0)
		:_a(a)
	{
		++N;
	}

	A(const A& aa)
		:_a(aa._a)
	{
		++N;
	}
private:
	int _a;

};

int main()
{
	A aa(2022);

	return 0;
}